// $Id: mem_op.h,v 1.1 2006-10-30 17:50:24 nicolasw Exp $
#ifndef MEM_OP_H
#define MEM_OP_H

#include <stddef.h>
#include <stdbool.h>


typedef enum {None, Malloc, Calloc, Realloc, Free} op_code_t;
typedef struct mem_op_s mem_op_s;

// Constructor y destructor
mem_op_s *mo_create(void);
void mo_destroy(mem_op_s *this);

// Mutadores
bool mo_parse(mem_op_s *this, char* line);

// Proyectores
op_code_t mo_code(const mem_op_s *this);
void *mo_rtag(const mem_op_s *this);
size_t mo_size(const mem_op_s *this);
void *mo_rtag_new(const mem_op_s *this);

#ifdef DEBUG
void mo_printf(const mem_op_s *this);
#endif

#endif /* MEM_OP_H */
